package com.box.entity;

import java.util.ArrayList;
import java.util.List;

public class DbBtypeExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DbBtypeExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andTidIsNull() {
            addCriterion("tid is null");
            return (Criteria) this;
        }

        public Criteria andTidIsNotNull() {
            addCriterion("tid is not null");
            return (Criteria) this;
        }

        public Criteria andTidEqualTo(Integer value) {
            addCriterion("tid =", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotEqualTo(Integer value) {
            addCriterion("tid <>", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidGreaterThan(Integer value) {
            addCriterion("tid >", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidGreaterThanOrEqualTo(Integer value) {
            addCriterion("tid >=", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidLessThan(Integer value) {
            addCriterion("tid <", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidLessThanOrEqualTo(Integer value) {
            addCriterion("tid <=", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidIn(List<Integer> values) {
            addCriterion("tid in", values, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotIn(List<Integer> values) {
            addCriterion("tid not in", values, "tid");
            return (Criteria) this;
        }

        public Criteria andTidBetween(Integer value1, Integer value2) {
            addCriterion("tid between", value1, value2, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotBetween(Integer value1, Integer value2) {
            addCriterion("tid not between", value1, value2, "tid");
            return (Criteria) this;
        }

        public Criteria andTnameIsNull() {
            addCriterion("tname is null");
            return (Criteria) this;
        }

        public Criteria andTnameIsNotNull() {
            addCriterion("tname is not null");
            return (Criteria) this;
        }

        public Criteria andTnameEqualTo(String value) {
            addCriterion("tname =", value, "tname");
            return (Criteria) this;
        }

        public Criteria andTnameNotEqualTo(String value) {
            addCriterion("tname <>", value, "tname");
            return (Criteria) this;
        }

        public Criteria andTnameGreaterThan(String value) {
            addCriterion("tname >", value, "tname");
            return (Criteria) this;
        }

        public Criteria andTnameGreaterThanOrEqualTo(String value) {
            addCriterion("tname >=", value, "tname");
            return (Criteria) this;
        }

        public Criteria andTnameLessThan(String value) {
            addCriterion("tname <", value, "tname");
            return (Criteria) this;
        }

        public Criteria andTnameLessThanOrEqualTo(String value) {
            addCriterion("tname <=", value, "tname");
            return (Criteria) this;
        }

        public Criteria andTnameLike(String value) {
            addCriterion("tname like", value, "tname");
            return (Criteria) this;
        }

        public Criteria andTnameNotLike(String value) {
            addCriterion("tname not like", value, "tname");
            return (Criteria) this;
        }

        public Criteria andTnameIn(List<String> values) {
            addCriterion("tname in", values, "tname");
            return (Criteria) this;
        }

        public Criteria andTnameNotIn(List<String> values) {
            addCriterion("tname not in", values, "tname");
            return (Criteria) this;
        }

        public Criteria andTnameBetween(String value1, String value2) {
            addCriterion("tname between", value1, value2, "tname");
            return (Criteria) this;
        }

        public Criteria andTnameNotBetween(String value1, String value2) {
            addCriterion("tname not between", value1, value2, "tname");
            return (Criteria) this;
        }

        public Criteria andTdesIsNull() {
            addCriterion("tdes is null");
            return (Criteria) this;
        }

        public Criteria andTdesIsNotNull() {
            addCriterion("tdes is not null");
            return (Criteria) this;
        }

        public Criteria andTdesEqualTo(String value) {
            addCriterion("tdes =", value, "tdes");
            return (Criteria) this;
        }

        public Criteria andTdesNotEqualTo(String value) {
            addCriterion("tdes <>", value, "tdes");
            return (Criteria) this;
        }

        public Criteria andTdesGreaterThan(String value) {
            addCriterion("tdes >", value, "tdes");
            return (Criteria) this;
        }

        public Criteria andTdesGreaterThanOrEqualTo(String value) {
            addCriterion("tdes >=", value, "tdes");
            return (Criteria) this;
        }

        public Criteria andTdesLessThan(String value) {
            addCriterion("tdes <", value, "tdes");
            return (Criteria) this;
        }

        public Criteria andTdesLessThanOrEqualTo(String value) {
            addCriterion("tdes <=", value, "tdes");
            return (Criteria) this;
        }

        public Criteria andTdesLike(String value) {
            addCriterion("tdes like", value, "tdes");
            return (Criteria) this;
        }

        public Criteria andTdesNotLike(String value) {
            addCriterion("tdes not like", value, "tdes");
            return (Criteria) this;
        }

        public Criteria andTdesIn(List<String> values) {
            addCriterion("tdes in", values, "tdes");
            return (Criteria) this;
        }

        public Criteria andTdesNotIn(List<String> values) {
            addCriterion("tdes not in", values, "tdes");
            return (Criteria) this;
        }

        public Criteria andTdesBetween(String value1, String value2) {
            addCriterion("tdes between", value1, value2, "tdes");
            return (Criteria) this;
        }

        public Criteria andTdesNotBetween(String value1, String value2) {
            addCriterion("tdes not between", value1, value2, "tdes");
            return (Criteria) this;
        }

        public Criteria andTclickhitIsNull() {
            addCriterion("tclickHit is null");
            return (Criteria) this;
        }

        public Criteria andTclickhitIsNotNull() {
            addCriterion("tclickHit is not null");
            return (Criteria) this;
        }

        public Criteria andTclickhitEqualTo(Integer value) {
            addCriterion("tclickHit =", value, "tclickhit");
            return (Criteria) this;
        }

        public Criteria andTclickhitNotEqualTo(Integer value) {
            addCriterion("tclickHit <>", value, "tclickhit");
            return (Criteria) this;
        }

        public Criteria andTclickhitGreaterThan(Integer value) {
            addCriterion("tclickHit >", value, "tclickhit");
            return (Criteria) this;
        }

        public Criteria andTclickhitGreaterThanOrEqualTo(Integer value) {
            addCriterion("tclickHit >=", value, "tclickhit");
            return (Criteria) this;
        }

        public Criteria andTclickhitLessThan(Integer value) {
            addCriterion("tclickHit <", value, "tclickhit");
            return (Criteria) this;
        }

        public Criteria andTclickhitLessThanOrEqualTo(Integer value) {
            addCriterion("tclickHit <=", value, "tclickhit");
            return (Criteria) this;
        }

        public Criteria andTclickhitIn(List<Integer> values) {
            addCriterion("tclickHit in", values, "tclickhit");
            return (Criteria) this;
        }

        public Criteria andTclickhitNotIn(List<Integer> values) {
            addCriterion("tclickHit not in", values, "tclickhit");
            return (Criteria) this;
        }

        public Criteria andTclickhitBetween(Integer value1, Integer value2) {
            addCriterion("tclickHit between", value1, value2, "tclickhit");
            return (Criteria) this;
        }

        public Criteria andTclickhitNotBetween(Integer value1, Integer value2) {
            addCriterion("tclickHit not between", value1, value2, "tclickhit");
            return (Criteria) this;
        }

        public Criteria andTurlIsNull() {
            addCriterion("turl is null");
            return (Criteria) this;
        }

        public Criteria andTurlIsNotNull() {
            addCriterion("turl is not null");
            return (Criteria) this;
        }

        public Criteria andTurlEqualTo(String value) {
            addCriterion("turl =", value, "turl");
            return (Criteria) this;
        }

        public Criteria andTurlNotEqualTo(String value) {
            addCriterion("turl <>", value, "turl");
            return (Criteria) this;
        }

        public Criteria andTurlGreaterThan(String value) {
            addCriterion("turl >", value, "turl");
            return (Criteria) this;
        }

        public Criteria andTurlGreaterThanOrEqualTo(String value) {
            addCriterion("turl >=", value, "turl");
            return (Criteria) this;
        }

        public Criteria andTurlLessThan(String value) {
            addCriterion("turl <", value, "turl");
            return (Criteria) this;
        }

        public Criteria andTurlLessThanOrEqualTo(String value) {
            addCriterion("turl <=", value, "turl");
            return (Criteria) this;
        }

        public Criteria andTurlLike(String value) {
            addCriterion("turl like", value, "turl");
            return (Criteria) this;
        }

        public Criteria andTurlNotLike(String value) {
            addCriterion("turl not like", value, "turl");
            return (Criteria) this;
        }

        public Criteria andTurlIn(List<String> values) {
            addCriterion("turl in", values, "turl");
            return (Criteria) this;
        }

        public Criteria andTurlNotIn(List<String> values) {
            addCriterion("turl not in", values, "turl");
            return (Criteria) this;
        }

        public Criteria andTurlBetween(String value1, String value2) {
            addCriterion("turl between", value1, value2, "turl");
            return (Criteria) this;
        }

        public Criteria andTurlNotBetween(String value1, String value2) {
            addCriterion("turl not between", value1, value2, "turl");
            return (Criteria) this;
        }

        public Criteria andTimageIsNull() {
            addCriterion("timage is null");
            return (Criteria) this;
        }

        public Criteria andTimageIsNotNull() {
            addCriterion("timage is not null");
            return (Criteria) this;
        }

        public Criteria andTimageEqualTo(String value) {
            addCriterion("timage =", value, "timage");
            return (Criteria) this;
        }

        public Criteria andTimageNotEqualTo(String value) {
            addCriterion("timage <>", value, "timage");
            return (Criteria) this;
        }

        public Criteria andTimageGreaterThan(String value) {
            addCriterion("timage >", value, "timage");
            return (Criteria) this;
        }

        public Criteria andTimageGreaterThanOrEqualTo(String value) {
            addCriterion("timage >=", value, "timage");
            return (Criteria) this;
        }

        public Criteria andTimageLessThan(String value) {
            addCriterion("timage <", value, "timage");
            return (Criteria) this;
        }

        public Criteria andTimageLessThanOrEqualTo(String value) {
            addCriterion("timage <=", value, "timage");
            return (Criteria) this;
        }

        public Criteria andTimageLike(String value) {
            addCriterion("timage like", value, "timage");
            return (Criteria) this;
        }

        public Criteria andTimageNotLike(String value) {
            addCriterion("timage not like", value, "timage");
            return (Criteria) this;
        }

        public Criteria andTimageIn(List<String> values) {
            addCriterion("timage in", values, "timage");
            return (Criteria) this;
        }

        public Criteria andTimageNotIn(List<String> values) {
            addCriterion("timage not in", values, "timage");
            return (Criteria) this;
        }

        public Criteria andTimageBetween(String value1, String value2) {
            addCriterion("timage between", value1, value2, "timage");
            return (Criteria) this;
        }

        public Criteria andTimageNotBetween(String value1, String value2) {
            addCriterion("timage not between", value1, value2, "timage");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}